package com.hsource.paymentcenter.domain.order;

import com.hsource.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 订单信息对象 xy_order
 *
 * @author yangyang
 * @date 2020-09-28
 */
public class Order extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    private String id;

    /**
     * 用户id
     */
    private String userId;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 诊断内容
     */
    private String content;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 支付类型 wx：微信  ali：支付宝
     */
    private String payType;

    /**
     * 金额
     */
    private Long price;

    /**
     * 订单类型：E:待付款   D:完成   F:关闭
     */
    private String payStatus;

    /**
     * 第三方支付单号
     */
    private String payOrderId;

    /**
     * 退款
     */
    private Date refundTime;

    /**
     * 健康档案Id
     */
    private String healthRecordId;

    /**
     * 问题Id
     */
    private Integer problemId;

    /**
     * 订单医生详情
     */
    private List<OrderDoctor> orderDoctors;


    /**
     * 订单类型
     */
    private String orderType;

    /**
     * 科室编码
     */
    private String clinicNo;

    /**
     * 预约时间
     */
    private String reservationTime;

    /**
     * 时长
     */
    private long duration;


    public long getDuration() {
        return duration;
    }

    public void setDuration(long duration) {
        this.duration = duration;
    }

    public String getReservationTime() {
        return reservationTime;
    }

    public void setReservationTime(String reservationTime) {
        this.reservationTime = reservationTime;
    }

    public String getClinicNo() {
        return clinicNo;
    }

    public void setClinicNo(String clinicNo) {
        this.clinicNo = clinicNo;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public List<OrderDoctor> getOrderDoctors() {
        return orderDoctors;
    }

    public void setOrderDoctors(List<OrderDoctor> orderDoctors) {
        this.orderDoctors = orderDoctors;
    }

    public Integer getProblemId() {
        return problemId;
    }

    public void setProblemId(Integer problemId) {
        this.problemId = problemId;
    }

    public String getHealthRecordId() {
        return healthRecordId;
    }

    public void setHealthRecordId(String healthRecordId) {
        this.healthRecordId = healthRecordId;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserId() {
        return userId;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getPayType() {
        return payType;
    }

    public void setPrice(Long price) {
        this.price = price;
    }

    public Long getPrice() {
        return price;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus;
    }

    public String getPayStatus() {
        return payStatus;
    }

    public void setPayOrderId(String payOrderId) {
        this.payOrderId = payOrderId;
    }

    public String getPayOrderId() {
        return payOrderId;
    }

    public void setRefundTime(Date refundTime) {
        this.refundTime = refundTime;
    }

    public Date getRefundTime() {
        return refundTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("phone", getPhone())
                .append("content", getContent())
                .append("createTime", getCreateTime())
                .append("payTime", getPayTime())
                .append("payType", getPayType())
                .append("price", getPrice())
                .append("payStatus", getPayStatus())
                .append("payOrderId", getPayOrderId())
                .append("refundTime", getRefundTime())
                .append("healthRecordId",getHealthRecordId())
                .append("problemId",getProblemId())
                .append("orderDoctors",getOrderDoctors())
                .append("orderType",getOrderType())
                .append("clinicNo",getClinicNo())
                .append("duration",getDuration())
                .append("reservationTime",getReservationTime())

                .toString();
    }
}
